<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SSD1306 OLED display driver: ssd1306_lcd_t Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">SSD1306 OLED display driver
   &#160;<span id="projectnumber">1.8.2</span>
   </div>
   <div id="projectbrief">This library is developed to control SSD1306/SSD1331/SSD1351/IL9163/PCD8554 RGB i2c/spi LED displays</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structssd1306__lcd__t-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ssd1306_lcd_t Struct Reference<div class="ingroups"><a class="el" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html">OLEDs: initialization and service functions</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="lcd__common_8h_source.html">lcd_common.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:aabe73540a354c4f959e4fe862167b482"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gaf4b71961185e1fa00ee5962123a349ae">lcd_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structssd1306__lcd__t.html#aabe73540a354c4f959e4fe862167b482">type</a></td></tr>
<tr class="separator:aabe73540a354c4f959e4fe862167b482"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c7d9e9ee7e3d36391e55731b0ebc516"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga3de6a212815ee8499f4042db94992210">lcduint_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structssd1306__lcd__t.html#a0c7d9e9ee7e3d36391e55731b0ebc516">width</a></td></tr>
<tr class="separator:a0c7d9e9ee7e3d36391e55731b0ebc516"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af576fdaf144fefdb8e278ca3cb90f49e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga3de6a212815ee8499f4042db94992210">lcduint_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structssd1306__lcd__t.html#af576fdaf144fefdb8e278ca3cb90f49e">height</a></td></tr>
<tr class="separator:af576fdaf144fefdb8e278ca3cb90f49e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6429922cc1a9ea852a3152c1942b1d73"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structssd1306__lcd__t.html#a6429922cc1a9ea852a3152c1942b1d73">set_block</a> )(<a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga3de6a212815ee8499f4042db94992210">lcduint_t</a> x, <a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga3de6a212815ee8499f4042db94992210">lcduint_t</a> y, <a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga3de6a212815ee8499f4042db94992210">lcduint_t</a> w)</td></tr>
<tr class="memdesc:a6429922cc1a9ea852a3152c1942b1d73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets block in RAM of lcd display controller to write data to.  <a href="#a6429922cc1a9ea852a3152c1942b1d73">More...</a><br /></td></tr>
<tr class="separator:a6429922cc1a9ea852a3152c1942b1d73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7513c1cb9a358f0d333b5ca73c3b7a7"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structssd1306__lcd__t.html#ae7513c1cb9a358f0d333b5ca73c3b7a7">next_page</a> )(void)</td></tr>
<tr class="separator:ae7513c1cb9a358f0d333b5ca73c3b7a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb7e3e36bd3480388976f8c4e1ab9adf"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structssd1306__lcd__t.html#aeb7e3e36bd3480388976f8c4e1ab9adf">send_pixels1</a> )(uint8_t data)</td></tr>
<tr class="separator:aeb7e3e36bd3480388976f8c4e1ab9adf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ceb1ea335b937f01a45c2e3529db48c"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structssd1306__lcd__t.html#a7ceb1ea335b937f01a45c2e3529db48c">send_pixels_buffer1</a> )(const uint8_t *buffer, uint16_t len)</td></tr>
<tr class="separator:a7ceb1ea335b937f01a45c2e3529db48c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a881f5629ba5b0e9b4d89a1a176ce2668"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structssd1306__lcd__t.html#a881f5629ba5b0e9b4d89a1a176ce2668">send_pixels8</a> )(uint8_t data)</td></tr>
<tr class="memdesc:a881f5629ba5b0e9b4d89a1a176ce2668"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends RGB pixel encoded in 3-3-2 format to OLED driver. Sends RGB pixel encoded in 3-3-2 format to OLED driver.  <a href="#a881f5629ba5b0e9b4d89a1a176ce2668">More...</a><br /></td></tr>
<tr class="separator:a881f5629ba5b0e9b4d89a1a176ce2668"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a409b80d44b201f777b8bb6a34df4288e"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structssd1306__lcd__t.html#a409b80d44b201f777b8bb6a34df4288e">send_pixels16</a> )(uint16_t data)</td></tr>
<tr class="memdesc:a409b80d44b201f777b8bb6a34df4288e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends RGB pixel encoded in 5-6-5 format to OLED driver. Sends RGB pixel encoded in 5-6-5 format to OLED driver.  <a href="#a409b80d44b201f777b8bb6a34df4288e">More...</a><br /></td></tr>
<tr class="separator:a409b80d44b201f777b8bb6a34df4288e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abace095df95cc15051f0fcb6e44522c7"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structssd1306__lcd__t.html#abace095df95cc15051f0fcb6e44522c7">set_mode</a> )(<a class="el" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gad2c71a26fa32dfcee88db3a3058ce596">lcd_mode_t</a> mode)</td></tr>
<tr class="memdesc:abace095df95cc15051f0fcb6e44522c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets library display mode for direct draw functions.  <a href="#abace095df95cc15051f0fcb6e44522c7">More...</a><br /></td></tr>
<tr class="separator:abace095df95cc15051f0fcb6e44522c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Structure, describing display driver configuration </p>

<p class="definition">Definition at line <a class="el" href="lcd__common_8h_source.html#l00088">88</a> of file <a class="el" href="lcd__common_8h_source.html">lcd_common.h</a>.</p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="af576fdaf144fefdb8e278ca3cb90f49e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af576fdaf144fefdb8e278ca3cb90f49e">&#9670;&nbsp;</a></span>height</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga3de6a212815ee8499f4042db94992210">lcduint_t</a> ssd1306_lcd_t::height</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Current display height </p>

<p class="definition">Definition at line <a class="el" href="lcd__common_8h_source.html#l00097">97</a> of file <a class="el" href="lcd__common_8h_source.html">lcd_common.h</a>.</p>

</div>
</div>
<a id="ae7513c1cb9a358f0d333b5ca73c3b7a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7513c1cb9a358f0d333b5ca73c3b7a7">&#9670;&nbsp;</a></span>next_page</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* ssd1306_lcd_t::next_page) (void)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Switches to the start of next RAM page for the block, specified by <a class="el" href="structssd1306__lcd__t.html#a6429922cc1a9ea852a3152c1942b1d73" title="Sets block in RAM of lcd display controller to write data to. ">set_block()</a>. For ssd1306 it does nothing, while for sh1106 the function moves cursor to next page. </p>

<p class="definition">Definition at line <a class="el" href="lcd__common_8h_source.html#l00122">122</a> of file <a class="el" href="lcd__common_8h_source.html">lcd_common.h</a>.</p>

</div>
</div>
<a id="aeb7e3e36bd3480388976f8c4e1ab9adf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb7e3e36bd3480388976f8c4e1ab9adf">&#9670;&nbsp;</a></span>send_pixels1</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* ssd1306_lcd_t::send_pixels1) (uint8_t data)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sends 8 monochrome vertical pixels to OLED driver. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>- byte, representing 8 pixels. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="lcd__common_8h_source.html#l00128">128</a> of file <a class="el" href="lcd__common_8h_source.html">lcd_common.h</a>.</p>

</div>
</div>
<a id="a409b80d44b201f777b8bb6a34df4288e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a409b80d44b201f777b8bb6a34df4288e">&#9670;&nbsp;</a></span>send_pixels16</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* ssd1306_lcd_t::send_pixels16) (uint16_t data)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sends RGB pixel encoded in 5-6-5 format to OLED driver. Sends RGB pixel encoded in 5-6-5 format to OLED driver. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>16-bit word, representing RGB16 pixel </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="lcd__common_8h_source.html#l00149">149</a> of file <a class="el" href="lcd__common_8h_source.html">lcd_common.h</a>.</p>

</div>
</div>
<a id="a881f5629ba5b0e9b4d89a1a176ce2668"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a881f5629ba5b0e9b4d89a1a176ce2668">&#9670;&nbsp;</a></span>send_pixels8</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* ssd1306_lcd_t::send_pixels8) (uint8_t data)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sends RGB pixel encoded in 3-3-2 format to OLED driver. Sends RGB pixel encoded in 3-3-2 format to OLED driver. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>- byte, representing RGB8 pixel. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="lcd__common_8h_source.html#l00142">142</a> of file <a class="el" href="lcd__common_8h_source.html">lcd_common.h</a>.</p>

</div>
</div>
<a id="a7ceb1ea335b937f01a45c2e3529db48c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ceb1ea335b937f01a45c2e3529db48c">&#9670;&nbsp;</a></span>send_pixels_buffer1</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* ssd1306_lcd_t::send_pixels_buffer1) (const uint8_t *buffer, uint16_t len)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sends buffer containing 8 monochrome vertical pixels, encoded in each byte. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>- buffer containing monochrome pixels. </td></tr>
    <tr><td class="paramname">len</td><td>- length of buffer in bytes. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="lcd__common_8h_source.html#l00135">135</a> of file <a class="el" href="lcd__common_8h_source.html">lcd_common.h</a>.</p>

</div>
</div>
<a id="a6429922cc1a9ea852a3152c1942b1d73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6429922cc1a9ea852a3152c1942b1d73">&#9670;&nbsp;</a></span>set_block</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* ssd1306_lcd_t::set_block) (<a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga3de6a212815ee8499f4042db94992210">lcduint_t</a> x, <a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga3de6a212815ee8499f4042db94992210">lcduint_t</a> y, <a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga3de6a212815ee8499f4042db94992210">lcduint_t</a> w)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets block in RAM of lcd display controller to write data to. </p>
<p>Sets block in RAM of lcd display controller to write data to. For ssd1306 it uses horizontal addressing mode, while for sh1106 the function uses page addressing mode. Width can be specified as 0, thus the library will set the right boundary to region of RAM block to the right column of the display. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>- column (left region) </td></tr>
    <tr><td class="paramname">y</td><td>- page (top page of the block) </td></tr>
    <tr><td class="paramname">w</td><td>- width of the block in pixels to control</td></tr>
  </table>
  </dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>- this function initiates session (i2c or spi) and do not close it. To close session, please, use ssd1306_intf.stop(). </dd></dl>

<p class="definition">Definition at line <a class="el" href="lcd__common_8h_source.html#l00114">114</a> of file <a class="el" href="lcd__common_8h_source.html">lcd_common.h</a>.</p>

</div>
</div>
<a id="abace095df95cc15051f0fcb6e44522c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abace095df95cc15051f0fcb6e44522c7">&#9670;&nbsp;</a></span>set_mode</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* ssd1306_lcd_t::set_mode) (<a class="el" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gad2c71a26fa32dfcee88db3a3058ce596">lcd_mode_t</a> mode)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets library display mode for direct draw functions. </p>
<p>Sets library display mode for direct draw functions. There are currently 2 modes supported: LCD_MODE_SSD1306_COMPAT and LCD_MODE_NORMAL. In general, ssd1306 compatible mode uses different GDRAM addressing mode, than normal mode, intended for using with RBG full-color functions.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mode</td><td>lcd mode to activate. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggad2c71a26fa32dfcee88db3a3058ce596a0abbc336593d4d93d9054fa2340c214b">LCD_MODE_SSD1306_COMPAT</a> </dd>
<dd>
<a class="el" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#ggad2c71a26fa32dfcee88db3a3058ce596afa76104458f5903f6b3083d2805d9432">LCD_MODE_NORMAL</a> </dd>
<dd>
<a class="el" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gad2c71a26fa32dfcee88db3a3058ce596">lcd_mode_t</a> </dd></dl>

<p class="definition">Definition at line <a class="el" href="lcd__common_8h_source.html#l00164">164</a> of file <a class="el" href="lcd__common_8h_source.html">lcd_common.h</a>.</p>

</div>
</div>
<a id="aabe73540a354c4f959e4fe862167b482"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aabe73540a354c4f959e4fe862167b482">&#9670;&nbsp;</a></span>type</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___l_c_d___i_n_t_e_r_f_a_c_e___a_p_i.html#gaf4b71961185e1fa00ee5962123a349ae">lcd_type_t</a> ssd1306_lcd_t::type</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Current selected lcd display type </p>

<p class="definition">Definition at line <a class="el" href="lcd__common_8h_source.html#l00091">91</a> of file <a class="el" href="lcd__common_8h_source.html">lcd_common.h</a>.</p>

</div>
</div>
<a id="a0c7d9e9ee7e3d36391e55731b0ebc516"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c7d9e9ee7e3d36391e55731b0ebc516">&#9670;&nbsp;</a></span>width</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___s_s_d1306___h_a_l___a_p_i.html#ga3de6a212815ee8499f4042db94992210">lcduint_t</a> ssd1306_lcd_t::width</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Current display width </p>

<p class="definition">Definition at line <a class="el" href="lcd__common_8h_source.html#l00094">94</a> of file <a class="el" href="lcd__common_8h_source.html">lcd_common.h</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>lcd/<a class="el" href="lcd__common_8h_source.html">lcd_common.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
